import App from './App.vue'
import { createApp } from 'vue'
// 混入
import mixin from '@/common/mixin'
// 使用封装的路由方法
import { routeInterceptor } from '@/utils/router'
// 引入pinia
import { createPinia } from 'pinia'
// 引入pinia持久化插件
import piniaPersist from 'pinia-plugin-persistedstate'
// 引入请求配置
import {initRequest} from '@/utils/request/index'
// 引入全局uview-plus
import uviewPlus, { setConfig } from '@/uni_modules/uview-plus'
// 设置uview-plus配置
setConfig({
	// 修改$u.config对象的属性
	config: {
		// 修改默认单位为rpx，相当于执行 uni.$u.config.unit = 'rpx'
		unit: 'rpx'
	},
	// 修改$u.props对象的属性
	props: {
		// 修改radio组件的size参数的默认值，相当于执行 uni.$u.props.radio.size = 30
		alert: {
			type: 'error'
		}
		// 其他组件属性配置
		// ......
	}
})
import { errorHandler } from '@/utils/error_handler/index'


const app = createApp(App)
// 全局错误处理函数
app.config.errorHandler = (err) => errorHandler(err)

const pinia = createPinia()
pinia.use(piniaPersist)

 // 引入请求封装
initRequest(app)

app.use(uviewPlus)
app.use(pinia)
app.use(routeInterceptor)
app.mixin(mixin)
app.mount('#app')
